import { PipeTransform, Injectable, ArgumentMetadata, BadRequestException } from '@nestjs/common';

/**
 * 用于判断文件上传的大小是否符合预期
 */
@Injectable()
export class FileSizeValidationPipe implements PipeTransform {
  transform(value: any, metadata: ArgumentMetadata) {
    // "value" 是包含文件属性和元数据的对象
    const maxSize = 1024 * 400 // 文件体积不能超过 400kb
    if (value.size > maxSize) {
      throw new BadRequestException('文件大小超出限制')
    }
    return value;
  }
}
